package tech.aistar.service.daoyou;

import com.github.pagehelper.PageInfo;
import com.sun.javafx.collections.MappingChange;
import tech.aistar.entity.authordis.UserTable;
import tech.aistar.entity.daoyou.GuideInfo;
import tech.aistar.entity.daoyou.GuidePageCommen;
import tech.aistar.entity.daoyou.GuideRoute;
import tech.aistar.entity.person_center.Orders;
import tech.aistar.vo.daoyou.GuideIndex;
import tech.aistar.vo.daoyou.GuideOrdersAll;
import tech.aistar.vo.daoyou.MyOrders;

import java.sql.Date;
import java.util.List;
import java.util.Set;
import java.util.Map;

//导游
public interface GuideService {
//评论分页
    PageInfo<GuidePageCommen> GuideCommentPage(Integer PageNum, Integer PageSize, Integer id);



    //导游所有的信息
  Set<GuideIndex> getAllPerson();

  //导游所有的信息
    Map<String,Object> getallPersons(Integer pageNum,Integer pageSize);

//查看导游的文头像id
  UserTable getuserByGuideId(Integer id);

  //导游的详情页
  GuideIndex getPerosonById(Integer id);

  //查看导游是否可以预约 参数是导游的id 和 导游正在接单截至的时间
  Boolean getOrderById(Integer id, String play_name,Date endtime);

  //插入预约订单
  void  inserOrders(MyOrders myOrders);

  //查看预约的导游的申请表
  List<GuideOrdersAll> getBill(Integer id, String apply_time);

  //查看是否是导游
  GuideInfo SelectGuideById(Integer id);


//通过账单的bill来获取信息

    Orders getBillById(Integer id);
  //检查下单
  Orders checkOrder(Integer id,Integer uid);
  //导游接单
  void accessBill(Integer id);
//导游拒单
 void delBill(Integer id);
 //获取导游现在接单
 List<GuideOrdersAll> getAllBill(Integer id);

//检车用户是否是导游自己
GuideInfo checkApply(Integer id);

 //插入导游的自定义路线
  void guideRout(Integer id,String text);
  //查看导游的路线
  GuideRoute selectRouteByid(Integer id);
  //查看自己的状态
  GuideInfo getGuideById(Integer id);
  //更改自己的状态
  void  setGuideById(Integer id,Integer val);
  //取消订单
  void setOrders(Integer id,Integer guideid);

  //获取所有没有被接收的的账单
   void getNoAcctionOrder();

   //点赞
    String addPRAISE(Integer id,String ip);

//处理redis
    void delRedis();
    //获取所有的图片
    Integer getPhoneNum(Integer id);

    //插入导游图片
    void inserPhoto(Integer id,String imgs);

    //短信通知用户出行
    void Notice();


    //查看是否已经下单 用户id 和用户下单的开始时间
    Boolean checkUserBill(Integer id,String starttime);

}
